/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * UserGuideFrame.java
 *
 * Created on Jun 20, 2009, 8:51:12 PM
 */

package ces31.ChineseDicesClient.IU;

import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Douglas
 */
public class IU_Manual extends javax.swing.JFrame {

    /** Creates new form UserGuideFrame */
    public IU_Manual(IU_Inicial initial) {
        setTelaInicial(initial);
        initComponents();
        areaTextoInstrucoes.setText(pagina1);
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        textoTituloManual = new javax.swing.JLabel();
        jScrollPane2 = new javax.swing.JScrollPane();
        areaTextoInstrucoes = new javax.swing.JTextArea();
        botaoFechar = new javax.swing.JButton();
        botaoVoltar = new javax.swing.JButton();
        botaoAvancar = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);

        textoTituloManual.setFont(new java.awt.Font("Calibri", 1, 24));
        textoTituloManual.setText("Dados Chineses - Manual do Usuário");
        textoTituloManual.setName("textoTituloManual"); // NOI18N

        jScrollPane2.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        jScrollPane2.setName("jScrollPane2"); // NOI18N

        areaTextoInstrucoes.setColumns(20);
        areaTextoInstrucoes.setLineWrap(true);
        areaTextoInstrucoes.setRows(5);
        areaTextoInstrucoes.setText("Exemplo:\n\nInício do Jogo\n\nRodada 1:\nEvento: Lançamento dos Dados\nDados do Jogador A: 1, 3, 1, 6, 4\nDados do Jogador B: 6, 6, 5, 2, 2\n\nEvento: Jogador A realiza a primeira afirmação\nJogador A: “Há 2 dados de valor 4”\n\nEvento: Jogador B realiza sua ação\nJogador B: “Há 3 dados de valor 6”\n\nEvento: Jogador A realiza sua ação\nJogador A: “Há 4 dados de valor 6”\n\nEvento: Jogador B realiza sua ação\nJogador B: “Duvido”\n\nComo no total, contabilizam-se cinco dados de valor seis (três dados com o valor 6 mais 2 coringas (valor 1)), o jogador A vence a rodada. Na próxima rodada o jogador A possui somente quatro dados."); // NOI18N
        areaTextoInstrucoes.setWrapStyleWord(true);
        areaTextoInstrucoes.setAutoscrolls(false);
        areaTextoInstrucoes.setName("areaTextoInstrucoes"); // NOI18N
        jScrollPane2.setViewportView(areaTextoInstrucoes);

        botaoFechar.setText("Fechar");
        botaoFechar.setName("botaoFechar"); // NOI18N
        botaoFechar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                sairDoManual(evt);
            }
        });

        botaoVoltar.setText("Voltar");
        botaoVoltar.setName("botaoVoltar"); // NOI18N
        botaoVoltar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                voltarPagina(evt);
            }
        });

        botaoAvancar.setText("Avançar");
        botaoAvancar.setName("botaoAvancar"); // NOI18N
        botaoAvancar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                avancarPagina(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(textoTituloManual)
                .addContainerGap(30, Short.MAX_VALUE))
            .addGroup(layout.createSequentialGroup()
                .addGap(26, 26, 26)
                .addComponent(botaoFechar)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 150, Short.MAX_VALUE)
                .addComponent(botaoVoltar)
                .addGap(18, 18, 18)
                .addComponent(botaoAvancar)
                .addGap(13, 13, 13))
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addGap(3, 3, 3)
                    .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 393, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(textoTituloManual)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 225, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(botaoFechar)
                    .addComponent(botaoVoltar)
                    .addComponent(botaoAvancar))
                .addContainerGap())
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addGap(47, 47, 47)
                    .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 206, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(47, Short.MAX_VALUE)))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void avancarPagina(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_avancarPagina
      areaTextoInstrucoes.setText(pagina2);
    }//GEN-LAST:event_avancarPagina

    private void sairDoManual(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_sairDoManual
        this.setVisible(false);
        telaInicial.getBotaoJogar().setEnabled(true);
        try {
            this.finalize();

        } catch (Throwable ex) {
            Logger.getLogger(IU_Manual.class.getName()).log(Level.SEVERE, null, ex);
        }
    }//GEN-LAST:event_sairDoManual

    private void voltarPagina(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_voltarPagina
        areaTextoInstrucoes.setText(pagina1);
    }//GEN-LAST:event_voltarPagina

  

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JTextArea areaTextoInstrucoes;
    private javax.swing.JButton botaoAvancar;
    private javax.swing.JButton botaoFechar;
    private javax.swing.JButton botaoVoltar;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JLabel textoTituloManual;
    // End of variables declaration//GEN-END:variables
    private IU_Inicial telaInicial;
    private String pagina1 = "Passo 1 - Cada jogador recebe 5 dados \n\nPasso 2 - Jogadores trocam afirmações a respeito da quantidade de dados, sendo que a quantidade de daos deve sempre aumentar em relação à afirmação anterior\n\nPasso 3 - Um dos jogadores decide duvidar da afirmação do adversário \n\nPasso 4 - Sistema verifica se existe a quantidade de dados do valor afirmado na última afirmação. Caso não tenha, o jogador que duvidou vence a rodada; caso tenha, o jogador que fez a afirmação vence a rodada. \n\nPasso 5 - O jogador vencedor da rodada perde um dado \n\nPasso 6 - Se todos jogadores possuem dados, volta para Passo 2. Caso contrário, o jogador sem dados é o vencedor!!";
    private String pagina2 = "Exemplo:\n\nInício do Jogo\n\nRodada 1:\nEvento: Lançamento dos Dados\nDados do Jogador A: 1, 3, 1, 6, 4\nDados do Jogador B: 6, 6, 5, 2, 2\n\nEvento: Jogador A realiza a primeira afirmação\nJogador A: “Há 2 dados de valor 4”\n\nEvento: Jogador B realiza sua ação\nJogador B: “Há 3 dados de valor 6”\n\nEvento: Jogador A realiza sua ação\nJogador A: “Há 4 dados de valor 6”\n\nEvento: Jogador B realiza sua ação\nJogador B: “Duvido”\n\nComo no total, contabilizam-se cinco dados de valor seis (três dados com o valor 6 mais 2 coringas (valor 1)), o jogador A vence a rodada. Na próxima rodada o jogador A possui somente quatro dados.";

    public IU_Inicial getTelaInicial() {
        return telaInicial;
    }

    public void setTelaInicial(IU_Inicial initialinstance) {
        this.telaInicial = initialinstance;
    }
}
